home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / chbgst.z / chbgst
Text File  |  1996-03-14  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. CCCCHHHHBBBBGGGGSSSSTTTT((((3333FFFF))))                                                          CCCCHHHHBBBBGGGGSSSSTTTT((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      CHBGST - reduce a complex Hermitian-definite banded generalized
  10.      eigenproblem A*x = lambda*B*x to standard form C*y = lambda*y,
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE CHBGST( VECT, UPLO, N, KA, KB, AB, LDAB, BB, LDBB, X, LDX,
  14.                         WORK, RWORK, INFO )
  15.  
  16.          CHARACTER      UPLO, VECT
  17.  
  18.          INTEGER        INFO, KA, KB, LDAB, LDBB, LDX, N
  19.  
  20.          REAL           RWORK( * )
  21.  
  22.          COMPLEX        AB( LDAB, * ), BB( LDBB, * ), WORK( * ), X( LDX, * )
  23.  
  24. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  25.      CHBGST reduces a complex Hermitian-definite banded generalized
  26.      eigenproblem  A*x = lambda*B*x  to standard form  C*y = lambda*y, such
  27.      that C has the same bandwidth as A.
  28.  
  29.      B must have been previously factorized as S**H*S by CPBSTF, using a split
  30.      Cholesky factorization. A is overwritten by C = X**H*A*X, where X =
  31.      S**(-1)*Q and Q is a unitary matrix chosen to preserve the bandwidth of
  32.      A.
  33.  
  34.  
  35. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  36.      VECT    (input) CHARACTER*1
  37.              = 'N':  do not form the transformation matrix X;
  38.              = 'V':  form X.
  39.  
  40.      UPLO    (input) CHARACTER*1
  41.              = 'U':  Upper triangle of A is stored;
  42.              = 'L':  Lower triangle of A is stored.
  43.  
  44.      N       (input) INTEGER
  45.              The order of the matrices A and B.  N >= 0.
  46.  
  47.      KA      (input) INTEGER
  48.              The number of superdiagonals of the matrix A if UPLO = 'U', or
  49.              the number of subdiagonals if UPLO = 'L'.  KA >= 0.
  50.  
  51.      KB      (input) INTEGER
  52.              The number of superdiagonals of the matrix B if UPLO = 'U', or
  53.              the number of subdiagonals if UPLO = 'L'.  KA >= KB >= 0.
  54.  
  55.      AB      (input/output) COMPLEX array, dimension (LDAB,N)
  56.              On entry, the upper or lower triangle of the Hermitian band
  57.              matrix A, stored in the first ka+1 rows of the array.  The j-th
  58.              column of A is stored in the j-th column of the array AB as
  59.              follows:  if UPLO = 'U', AB(ka+1+i-j,j) = A(i,j) for max(1,j-
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. CCCCHHHHBBBBGGGGSSSSTTTT((((3333FFFF))))                                                          CCCCHHHHBBBBGGGGSSSSTTTT((((3333FFFF))))
  71.  
  72.  
  73.  
  74.              ka)<=i<=j; if UPLO = 'L', AB(1+i-j,j)    = A(i,j) for
  75.              j<=i<=min(n,j+ka).
  76.  
  77.              On exit, the transformed matrix X**H*A*X, stored in the same
  78.              format as A.
  79.  
  80.      LDAB    (input) INTEGER
  81.              The leading dimension of the array AB.  LDAB >= KA+1.
  82.  
  83.      BB      (input) COMPLEX array, dimension (LDBB,N)
  84.              The banded factor S from the split Cholesky factorization of B,
  85.              as returned by CPBSTF, stored in the first kb+1 rows of the
  86.              array.
  87.  
  88.      LDBB    (input) INTEGER
  89.              The leading dimension of the array BB.  LDBB >= KB+1.
  90.  
  91.      X       (output) COMPLEX array, dimension (LDX,N)
  92.              If VECT = 'V', the n-by-n matrix X.  If VECT = 'N', the array X
  93.              is not referenced.
  94.  
  95.      LDX     (input) INTEGER
  96.              The leading dimension of the array X.  LDX >= max(1,N) if VECT =
  97.              'V'; LDX >= 1 otherwise.
  98.  
  99.      WORK    (workspace) COMPLEX array, dimension (N)
  100.  
  101.      RWORK   (workspace) REAL array, dimension (N)
  102.  
  103.      INFO    (output) INTEGER
  104.              = 0:  successful exit
  105.              < 0:  if INFO = -i, the i-th argument had an illegal value.
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.